Introduction to Prolog (Lectures 1 & 2)

مقدمة

  • الـ Prolog هي لغة برمجة منطقية (Logic Programming).
  • بتعتمد على الـ Declarative Programming (البرمجة الوصفية) بدلاً من الـ Procedural (الإجرائية).
  • بتستخدم بشكل أساسي في تطبيقات الذكاء الاصطناعي (AI) والأنظمة الخبيرة (Expert Systems).


ايه هي لغة Prolog؟


العناصر الأساسية للـ Prolog

1. الـ Facts

بتعبر عن علاقة بين الـ Objects أو خاصية لشيء معين، وبتكون دايمًا صح (Always True).

قواعد كتابة الـ Facts

  • اسم العلاقة والـ objects لازم يبدأوا بـ lower-case.
  • اسم العلاقة بيتكتب الأول وبعده الـ objects بين قوسين.
  • لازم تنتهي بـ Full stop (نقطة .).
  • الترتيب مهم: likes(aly, hany) معناها علي بيحب هاني، مش العكس.

2. الـ Rules

ملحوظه ملهاش لازمه

  • ا parent يعني والد يعني ممكن يبقي اب او ام , اما father يعني اب الي هو parent وفي نفس الوقت male

3. الـ Questions

بتبدأ بالرمز ?- في الـ interpreter.


الـ Predicates

في Prolog، الـ Predicate هو الاسم اللي بنطلقه على الكلمة اللي بتيجي قبل القوسين في أي حقيقة (Fact) أو قاعدة (Rule).


الـ Variables


الـ Operators

الرمز المعنى بالمنطق
:- ا IF (لو)
, ا AND (و)
; ا OR (أو)

الـ Conjunctions (الربط)

ممكن نربط أكتر من حاجة باستخدام الفاصلة , (AND).


بيئة العمل (SWI-Prolog)

  1. بنكتب الـ knowledgebase في ملف ونحفظه بامتداد .pl (مثلاً family.pl).
  2. بنفتح الـ SWI-Prolog ونعمل Consult للملف عشان يحمله:
    • بنكتب: [family]. أو consult(family). (متنساش النقطة في الآخر).
  3. بعد كده نقدر نسأل الأسئلة (Queries).

المقارنات ( Comparison operators)

ممكن نستخدم المقارنات زي أصغر من < في الأسئلة:


قبل ما تدخل علي المحاضره الي بعدها حل امثلة المحاضرة والسكاشن من هنا : Lecture 1 & 2 - Practice

Nour Eldeen Mahmoud


Powered by Forestry.md